<?php
namespace app\configs\admin;

use app\admin\controller\Admin;
use think\Db;

use app\common\builder\ZBuilder; // 引入ZBuilder

class Card extends Admin
{
	

	//卡片列表
    public function index(){
		
        $map = $this->getMap();
        
        $data_list = Db::name('card')
        ->alias("a")
        ->join("category b","a.categoryId=b.categoryId",'left')
        ->join("user c","a.user_id=c.id")
        ->where($map)
        ->field("a.*,b.name,c.username,c.nickname")
        ->order("a.id desc")
        ->paginate();
        $category=Db::name('category')->column("categoryId,name");       
        $users=Db::name('user')->column("id,username");       
        $fields = [
            ['select', 'username', '用户名','选择存在的用户',$users],
            ['text', 'cellphone', '办卡电话'],
            ['text', 'card_code', '卡号'],
            ['select', 'categoryId', '类型','选择加油卡类型',$category,1],
           // ['number','limits', '限额'],
            ['text','user_token', '登陆凭据'],
            ['text','body', '请求参数'],
            ['hidden', 'create_time',date("Y-m-d H:i:s")],
            ['hidden', 'expiry_time',date("Y-m-d H:i:s")],
        ];
        // 定义编辑页面的字段
        $fields2 = [
            ['hidden', 'id'],
            ['select', 'username', '用户名','选择存在的用户',$users],
            ['text', 'cellphone', '办卡电话'],
            ['text', 'card_code', '卡号'],
            ['select', 'categoryId', '类型','选择加油卡类型',$category],
           // ['text','limits', '限额'],
            ['text','user_token', '登陆凭据'],
            ['text','body', '请求参数'],
        ];
        
        // 分页数据
        $page = $data_list->render();
         
        $css = <<<EOF
           <style>
                .table-builder > tbody > tr > td{white-space: normal;}
           </style>
EOF;
        //		dump($data_list);die;
        
        return ZBuilder::make('table')
        ->setPageTitle('加油卡列表')
        ->setTableName('card') // 指定数据表名
        ->setPrimaryKey('id')	//设置主键
        ->hideCheckbox()
        ->setSearch(['title' => '名称']) // 设置搜索参数
        ->addColumns([ // 批量添加列
            ['username', '用户名'],
            ['cellphone', '办卡电话','text.edit'],
            ['card_code', '卡号','text.edit'],
            ['categoryId', '类型','select',$category],
           // ['limits', '限额','text.edit'],
            ['balance', '余额','text.edit'],
            ['user_token', '登陆凭据','textarea.edit'],
            ['body', '请求参数','textarea.edit'],
        ])
        ->addColumn('right_button', '操作', 'btn')
        ->addRightButton('delete') // 批量添加右侧按钮1
        ->autoAdd($fields, 'card','','create_time','',true) // 添加新增按钮
        ->autoEdit($fields2, 'card','','','',true) // 添加编辑按钮
        ->setRowList($data_list) // 设置表格数据
        ->setPages($page) // 设置分页数据
        ->setExtraCss($css)
        ->fetch();
    }
	
	
}
?>